<?php
/**
 * Subpacote de componentes
 *
 * @author esales
 * @version 0.1
 * @copyright opensource.
 * @license http://creativecommons.org/licenses/by/3.0/
 * @link http://esales.com.br
 * @category framework
 * @package componentes
 * @subpackage objGrid
 *
 *
 */
namespace bibliotecas\componentes\grid
	{
		/**
		 *
		 */
		use bibliotecas\componentes\grid\funcoes\objFuncoesDados;
		/**
		 * classe onde contem os metodos de tratamento dos dados de entrada,
		 * para serem passados posteriormente para a classe objFuncoesDados
		 *
		 */
		class objGrid extends objFuncoesDados
			{
				/**
				 * propriedade que contem todos os parametors a serem havaliados para
				 * montagem da GRID
				 * @var array
				 */
				protected $proDadosGrid;
				/**
				 * propriedade para armazenagem de erro
				 * @var array
				 */
				protected $proErros;
				/**
				 * propriedade que retorna o grid montado
				 *
				 * @access public
				 * @property array
				 * @name $proDados
				 * @var $proDados
				 *
				 */
				public $proDados;
				/**
				 * metodo que recebe todos os parametros a preencherem
				 * as propriedades
				 *
				 * @access public
				 * @param null
				 * @return $this->proDadosGrid
				 */
				public function mtdConfiguracao($parDados)
					{
						foreach ($parDados as $parDados['c1'] => $parDados['c2'])
							{
								return $this->$parDados['c1'] = $parDados['c2'];
							}
					}
				/**
				 * metodo que efetua as invocacoes de outros metodos
				 *
				 * @access private
				 * @param null
				 * @return $this->mtdDadosGRID
				 */
				private function mtdDados()
					{
						return $this->mtdDadosGRID($this->proDadosGrid);
					}
				/**
				 * metodo para controle de erros
				 * preenche a propriedade equivalente de nome proErros
				 *
				 * @access protected
				 * @param array $parDados
				 * @return array
				 *
				 */
				protected function mtdErros($parDados)
					{
						return $this->proErros = ! empty($this->proErros) ? $this->proErros : array ('erro' => $parDados);
					}
				/**
				 * metodo que inicia e finaliza a classe GRID
				 *
				 * @access public
				 * @param array $parDados
				 * @return array $this->proDados
				 *
				 */
				public function mtdExecutar()
					{
						$parDados = $this->mtdDados();
						$this->proDados = empty($this->proErros) ? $parDados : $this->proErros;
						unset($this->proDadosGrid, $this->proErros);
						return $this->proDados;
					}
			}
	}
?>
